Chapter overview
In this chapter, I focus on the third of my three key questions about the development of representations of mental life: How do people of different ages deploy their conceptual representations of mental life to reason about specific entities in the world? As in Chapters III-IV, to address this question I draw on data from all of the current studies (Studies 1-4); for details about the methods of these studies, see Chapter II. The goal of this chapter is to provide “snapshots” of mental capacity attributions to various target characters in early childhood, middle childhood, and adulthood, and to explore in finer-grained detail more continuous changes in children’s beliefs about the mental lives of these characters between 4-9y of age, with particular attention to children’s assessment of animate vs. inanimate beings.
General analysis plan
High-level overview
In analyzing these datasets with an eye toward documenting the application or deployment of the conceptual representations described in Chapters III-IV, the basic insight is that the attribution of specific mental capacities to specific target characters provides evidence of how conceptual representations of mental life are deployed in everyday social cognition. In Chapter II, I illustrated this with the following example: If participants who assess the mental capacities of Characters 1, 2, and 3 share one general pattern of mental capacity attributions, and participants who assess the mental capacities of Characters 4, 5, and 6 share another pattern, this provides some evidence that conceptual representations of mental life might play a role in structuring representations of (and interactions with) different classes of beings in the world. Here I will translate this general intuition into a specific analysis plan to be applied to each of these datasets in turn.
Study 1: An adult endpoint
In the context of this dissertation, Study 1 serves to describe a developmental endpoint for conceptual representations of mental life. In this chapter, I focus on what this study can reveal about how US adults use this concept to understand the beings in their world: Which aspects of mental life do they extend to which kinds of target characters? This topic was covered only very briefly in the original publication of this work (Weisman et al., 2017).
To review, Studies 1a-1c employed the “edge case” variant of the general approach, with participants assessing the mental capacities of a beetle, a robot, or both. Studies 1a and 1b were identical: US adults (Study 1a: n=405; Study 1b: n=406) each assessed a single target character on 40 mental capacities. Study 1c employed very similar methods, with the exception that participants (n=200) each assessed both target characters side by side (with left-right position counterbalanced across participants). Because these studies were so similar, in this chapter, I will discuss them in tandem.
Study 1d employed the “diverse characters” variant of the general approach, in which 431 US adults were randomly assigned to assess the same set of 40 mental capacities used in Studies 1a-1d for one of the following 21 target characters: an adult, a child, an infant, a person in a persistent vegetative state, a fetus, a chimpanzee, an elephant, a dolphin, a bear, a dog, a goat, a mouse, a frog, a blue jay, a fish, a beetle, a microbe, a robot, a computer, a car, or a stapler. (See Chapter II and Weisman et al., 2017, for detailed methods.)
Results
Studies 1a-1c
Study 1d
Discussion

Study 2: Conceptual change between middle childhood (7-9y) and adulthood
In the context of this dissertation, Study 2 serves to provide an initial investigation of representations of mental life earlier in development, in what I have called middle childhood (7-9y). In this chapter, I focus on what this study can reveal about changes in the deployment of this concept between middle childhood and adulthood: How do US 7- to 9-year-old children’s attributions of BODY, HEART, and MIND compare to those of adults in their cultural context?
To review, in Study 2, 200 US adults and 200 US children between the ages of 7.01-9.99 years (median: 8.31y) each assessed a single target character on 40 mental capacities. This study employed the “edge case” variant of the general approach, with participants randomly assigned to assess either a beetle or a robot. (See Chapter II for detailed methods.)
Special notes on data processing and analysis
To facilitate comparison between children and adults in Study 2, I use adults’ BODY, HEART, and MIND scales (as described in Chapter IV) to analyze both age groups. For analyses using scales derived from EFA of children’s own responses, see [XX Appendix C].
Results
Adults
Children (7-9y)
Developmental comparison
Discussion

XX INSERT DEVELOPMENTAL TRAJECTORY PLOT (figure5.3)
Study 3: Conceptual change over early and middle childhood (4-9y)
Study 3 builds on the investigation of middle childhood (7-9y) initiated in Study 2 and extends this exploration of conceptual change into earlier childhood (4-6y). In this chapter, I again focus on what this study can reveal about changes in the deployment of this concept—i.e., the attribution of BODY, HEART, and MIND to various beings in the world—over the course of early and middle childhood (7-9y).
To review, in Study 3, 116 US adults, 125 “older” children (7.08-9.98 years; median: 8.56y), and 124 “younger” children (4.00-6.98 years; median: 5.03y) each assessed a single target character on 20 mental capacities. This study employed the “diverse characters” variant of the general approach, with participants randomly or pseudo-randomly assigned to assess one of the following 9 characters: an elephant, a goat, a mouse, a bird, a beetle, a teddy bear, a doll, a robot, or a computer. (See Chapter II for detailed methods.)
Special notes on data processing and analysis
As in Study 2, to facilitate comparison between the three age groups included in Study 3, I use adults’ BODY, HEART, and MIND scales (as described in Chapter IV) to analyze both age groups. For analyses using scales derived from EFA of children’s own responses, see [XX Appendix C].
Results
Adults
Children (7-9y)
Children (4-6y)
Developmental comparison
Discussion

XX INSERT DEVELOPMENTAL TRAJECTORY PLOT (figure5.5)
Study 4: A focus on early childhood (4-5y)
Study 4 builds on Study 3 by providing a targeted investigation of representations of mental life in the preschool years (4-5y). In this chapter, I again focus on what this study can reveal about attributions of BODY, HEART, and MIND at the earliest point in development that I have examined so far, and compare the deployment of this concept among young children vs. adults.
To review, in Study 4, 104 US adults and 43 US children between the ages of 4.02-5.59 years (median: 4.73y) each assessed two target characters on 18 mental capacities, with all aspects of the experimental design tailored to be appropriate for this youngest age group. This study employed the “edge case” variant of the general approach, with participants assessing both a beetle or a robot in sequence (with order counterbalanced across participants). (See Chapter II for detailed methods.)
Special notes on data processing and analysis
As in Studies 2 and 3, to facilitate comparison between children and adults in Study 4, I use adults’ BODY, HEART, and MIND scales (as described in Chapter IV) to analyze both age groups. For analyses using scales derived from EFA of children’s own responses, see [XX Appendix C].
Results
Adults
Children (4-5y)
Developmental comparison
Discussion

XX INSERT DEVELOPMENTAL TRAJECTORY PLOT (figure5.7)
General discussion
Chapter conclusion
SCRAPS
Documenting the application or deployment of conceptual representations through XX
[XX CORRECT TO BE NOT ABOUT FACTOR SCORES! change from factor scores to endorsements. Factor scores don’t give a sense of absolutely yes/no.]
Having inferred a conceptual structure for a given group of participants via EFA, I then sought to examine attributions of mental capacities to the particular target characters included in each study within this conceptual structure: To what extent did participants attribute each of the fundamental components of mental life revealed by EFA to a given target character, and how did this attributions vary with age (either within an age group or between age groups)?
To explore this question, for each study I projected children’s data into adults’ conceptual space and examined “factor scores”—summaries of each participant’s attributions of each of factors revealed by EFA. I used the correlation-preserving “ten Berge” method (as implemented in the “psych” package; Revelle, 2018), imputing missing values using the mean (by target character, capacity, and age group). This yielded one factor score for each of (adults’) factors, for each participant. I consider these to be summaries of that person’s attributions of the corresponding latent construct.
I analyzed these factor scores via mixed effects Bayesian regression analyses using the “brms” package for R (Bürkner, 2017). In all of these analyses, I included the maximal random effect structures given the design for the relevant study. Further details varied by study, depending on the number of target characters included in that study, the number of factors revealed by EFA for the relevant group(s) of participants, and the goals of the analysis (e.g., comparing two age groups vs. examining continuous effects of age within one or more groups of participants).
LS0tCnRpdGxlOiAiQ2hhcHRlciBWOiBDaGFuZ2VzIGluIGRlcGxveW1lbnQgb2YgdGhlIGNvbmNlcHQiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogNAogICAgdG9jX2Zsb2F0OiB5ZXMKYWx3YXlzX2FsbG93X2h0bWw6IHllcwotLS0KCmBgYHtyIGdsb2JhbF9vcHRpb25zLCBpbmNsdWRlID0gRn0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGZpZy53aWR0aCA9IDMsIGZpZy5hc3AgPSAwLjY3LAogICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZSA9IEYsIGVjaG8gPSBGKQpgYGAKCmBgYHtyfQojICMgZm9yIGtuaXR0aW5nIHRvIC5kb2N4CiMgb3V0cHV0OgojICAgd29yZF9kb2N1bWVudDoKIyAgICAgcmVmZXJlbmNlX2RvY3g6ICIuL3dvcmQtc3R5bGVzLXJlZmVyZW5jZS5kb2N4IgojIGFsd2F5c19hbGxvd19odG1sOiB5ZXMKCiMgIyBmb3Iga25pdHRpbmcgdG8gLm5iLmh0bWwgCiMgb3V0cHV0OgojICAgaHRtbF9ub3RlYm9vazoKIyAgICAgdG9jOiB5ZXMKIyAgICAgdG9jX2RlcHRoOiA0CiMgICAgIHRvY19mbG9hdDogeWVzCmBgYAoKYGBge3J9CiMgcnVuIHVyLXNldHVwIHNjcmlwdCAod2hpY2ggcnVucyBvdGhlciBzY3JpcHRzKQpzb3VyY2UoIi4vc2NyaXB0cy9fU0VUVVAuUiIpCgojIGxvYWQgaW4gRUZBcyAmIG5hbWVzIGZyb20gQ2hhcHRlcnMgSUlJICYgSVYKc291cmNlKCIuL3NjcmlwdHMvc3RvcmVkX2NoMDMuUiIpCnNvdXJjZSgiLi9zY3JpcHRzL3N0b3JlZF9jaDA0LlIiKQpgYGAKCgojIENoYXB0ZXIgb3ZlcnZpZXcKCkluIHRoaXMgY2hhcHRlciwgSSBmb2N1cyBvbiB0aGUgdGhpcmQgb2YgbXkgdGhyZWUga2V5IHF1ZXN0aW9ucyBhYm91dCB0aGUgZGV2ZWxvcG1lbnQgb2YgcmVwcmVzZW50YXRpb25zIG9mIG1lbnRhbCBsaWZlOiBfSG93wqBkbyBwZW9wbGUgb2YgZGlmZmVyZW50IGFnZXMgZGVwbG95IHRoZWlyIGNvbmNlcHR1YWwgcmVwcmVzZW50YXRpb25zIG9mIG1lbnRhbCBsaWZlIHRvIHJlYXNvbiBhYm91dCBzcGVjaWZpYyBlbnRpdGllcyBpbiB0aGUgd29ybGQ/XyBBcyBpbiBDaGFwdGVycyBJSUktSVYsIHRvIGFkZHJlc3MgdGhpcyBxdWVzdGlvbiBJIGRyYXcgb24gZGF0YSBmcm9tIGFsbCBvZiB0aGUgY3VycmVudCBzdHVkaWVzIChTdHVkaWVzIDEtNCk7IGZvciBkZXRhaWxzIGFib3V0IHRoZSBtZXRob2RzIG9mIHRoZXNlIHN0dWRpZXMsIHNlZSBDaGFwdGVyIElJLiBUaGUgZ29hbCBvZiB0aGlzIGNoYXB0ZXIgaXMgdG8gcHJvdmlkZSAic25hcHNob3RzIiBvZiBtZW50YWwgY2FwYWNpdHkgYXR0cmlidXRpb25zIHRvIHZhcmlvdXMgdGFyZ2V0IGNoYXJhY3RlcnMgaW4gZWFybHkgY2hpbGRob29kLCBtaWRkbGUgY2hpbGRob29kLCBhbmQgYWR1bHRob29kLCBhbmQgdG8gZXhwbG9yZSBpbiBmaW5lci1ncmFpbmVkIGRldGFpbCBtb3JlIGNvbnRpbnVvdXMgY2hhbmdlcyBpbiBjaGlsZHJlbidzIGJlbGllZnMgYWJvdXQgdGhlIG1lbnRhbCBsaXZlcyBvZiB0aGVzZSBjaGFyYWN0ZXJzIGJldHdlZW4gNC05eSBvZiBhZ2UsIHdpdGggcGFydGljdWxhciBhdHRlbnRpb24gdG8gY2hpbGRyZW4ncyBhc3Nlc3NtZW50IG9mIGFuaW1hdGUgdnMuIGluYW5pbWF0ZSBiZWluZ3MuCgoKIyBHZW5lcmFsIGFuYWx5c2lzIHBsYW4KCiMjIEhpZ2gtbGV2ZWwgb3ZlcnZpZXcKCkluIGFuYWx5emluZyB0aGVzZSBkYXRhc2V0cyB3aXRoIGFuIGV5ZSB0b3dhcmQgZG9jdW1lbnRpbmcgdGhlIGFwcGxpY2F0aW9uIG9yIGRlcGxveW1lbnQgb2YgdGhlIGNvbmNlcHR1YWwgcmVwcmVzZW50YXRpb25zIGRlc2NyaWJlZCBpbiBDaGFwdGVycyBJSUktSVYsIHRoZSBiYXNpYyBpbnNpZ2h0IGlzIHRoYXQgdGhlIGF0dHJpYnV0aW9uIG9mIHNwZWNpZmljIG1lbnRhbCBjYXBhY2l0aWVzIHRvIHNwZWNpZmljIHRhcmdldCBjaGFyYWN0ZXJzIHByb3ZpZGVzIGV2aWRlbmNlIG9mIGhvdyBjb25jZXB0dWFsIHJlcHJlc2VudGF0aW9ucyBvZiBtZW50YWwgbGlmZSBhcmUgZGVwbG95ZWQgaW4gZXZlcnlkYXkgc29jaWFsIGNvZ25pdGlvbi4gSW4gQ2hhcHRlciBJSSwgSSBpbGx1c3RyYXRlZCB0aGlzIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlOiBJZiBwYXJ0aWNpcGFudHMgd2hvIGFzc2VzcyB0aGUgbWVudGFsIGNhcGFjaXRpZXMgb2YgQ2hhcmFjdGVycyAxLCAyLCBhbmQgMyBzaGFyZSBvbmUgZ2VuZXJhbCBwYXR0ZXJuIG9mIG1lbnRhbCBjYXBhY2l0eSBhdHRyaWJ1dGlvbnMsIGFuZCBwYXJ0aWNpcGFudHMgd2hvIGFzc2VzcyB0aGUgbWVudGFsIGNhcGFjaXRpZXMgb2YgQ2hhcmFjdGVycyA0LCA1LCBhbmQgNiBzaGFyZSBhbm90aGVyIHBhdHRlcm4sIHRoaXMgcHJvdmlkZXMgc29tZSBldmlkZW5jZSB0aGF0IGNvbmNlcHR1YWwgcmVwcmVzZW50YXRpb25zIG9mIG1lbnRhbCBsaWZlIG1pZ2h0IHBsYXkgYSByb2xlIGluIHN0cnVjdHVyaW5nIHJlcHJlc2VudGF0aW9ucyBvZiAoYW5kIGludGVyYWN0aW9ucyB3aXRoKSBkaWZmZXJlbnQgY2xhc3NlcyBvZiBiZWluZ3MgaW4gdGhlIHdvcmxkLiBIZXJlIEkgd2lsbCB0cmFuc2xhdGUgdGhpcyBnZW5lcmFsIGludHVpdGlvbiBpbnRvIGEgc3BlY2lmaWMgYW5hbHlzaXMgcGxhbiB0byBiZSBhcHBsaWVkIHRvIGVhY2ggb2YgdGhlc2UgZGF0YXNldHMgaW4gdHVybi4gCgojIyBEZXRhaWxzIG9mIGFuYWx5c2VzCgpgYGB7cn0KYW5pbV9sb29rdXAgPC0gZGF0YS5mcmFtZShjaGFyYWN0ZXIgPSBsZXZlbHMoc2NvcmVzX2FsbCRjaGFyYWN0ZXIpKSAlPiUKICBtdXRhdGUoYW5pbV9pbmFuID0gY2FzZV93aGVuKAogICAgY2hhcmFjdGVyICVpbiUgYygiYWR1bHQiLCAiY2hpbGQiLCAiaW5mYW50IiwgCiAgICAgICAgICAgICAgICAgICAgICJwZXJzb24gaW4gYSBwZXJzaXN0ZW50IHZlZ2V0YXRpdmUgc3RhdGUiLCAKICAgICAgICAgICAgICAgICAgICAgInBlcnNvbiBpbiBhIFBWUyIsICJmZXR1cyIsICJjaGltcGFuemVlIiwgCiAgICAgICAgICAgICAgICAgICAgICJlbGVwaGFudCIsICJkb2xwaGluIiwgImJlYXIiLCAiZG9nIiwgImdvYXQiLCAKICAgICAgICAgICAgICAgICAgICAgIm1vdXNlIiwgImZyb2ciLCAiYmx1ZSBqYXkiLCAiYmlyZCIsICJmaXNoIiwgCiAgICAgICAgICAgICAgICAgICAgICJiZWV0bGUiLCAibWljcm9iZSIpIH4gImFuaW1hdGUiLAogICAgY2hhcmFjdGVyICVpbiUgYygicm9ib3QiLCAiY29tcHV0ZXIiLCAiY2FyIiwgInRlZGR5IGJlYXIiLCAKICAgICAgICAgICAgICAgICAgICAgImRvbGwiLCAic3RhcGxlciIpIH4gImluYW5pbWF0ZSIsCiAgICBUUlVFIH4gTkFfY2hhcmFjdGVyXyksCiAgICBhbmltX2luYW4gPSBmYWN0b3IoYW5pbV9pbmFuLCBsZXZlbHMgPSBjKCJhbmltYXRlIiwgImluYW5pbWF0ZSIpKSkKYGBgCgpYWAoKIyBTdHVkeSAxOiBBbiBhZHVsdCBlbmRwb2ludAoKSW4gdGhlIGNvbnRleHQgb2YgdGhpcyBkaXNzZXJ0YXRpb24sIFN0dWR5IDEgc2VydmVzIHRvIGRlc2NyaWJlIGEgZGV2ZWxvcG1lbnRhbCBlbmRwb2ludCBmb3IgY29uY2VwdHVhbCByZXByZXNlbnRhdGlvbnMgb2YgbWVudGFsIGxpZmUuIEluIHRoaXMgY2hhcHRlciwgSSBmb2N1cyBvbiB3aGF0IHRoaXMgc3R1ZHkgY2FuIHJldmVhbCBhYm91dCBob3cgVVMgYWR1bHRzIHVzZSB0aGlzIGNvbmNlcHQgdG8gdW5kZXJzdGFuZCB0aGUgYmVpbmdzIGluIHRoZWlyIHdvcmxkOiBXaGljaCBhc3BlY3RzIG9mIG1lbnRhbCBsaWZlIGRvIHRoZXkgZXh0ZW5kIHRvIHdoaWNoIGtpbmRzIG9mIHRhcmdldCBjaGFyYWN0ZXJzPyBUaGlzIHRvcGljIHdhcyBjb3ZlcmVkIG9ubHkgdmVyeSBicmllZmx5IGluIHRoZSBvcmlnaW5hbCBwdWJsaWNhdGlvbiBvZiB0aGlzIHdvcmsgKFdlaXNtYW4gZXQgYWwuLCAyMDE3KS4gCgpUbyByZXZpZXcsIFN0dWRpZXMgMWEtMWMgZW1wbG95ZWQgdGhlICJlZGdlIGNhc2UiIHZhcmlhbnQgb2YgdGhlIGdlbmVyYWwgYXBwcm9hY2gsIHdpdGggcGFydGljaXBhbnRzIGFzc2Vzc2luZyB0aGUgbWVudGFsIGNhcGFjaXRpZXMgb2YgYSBiZWV0bGUsIGEgcm9ib3QsIG9yIGJvdGguIFN0dWRpZXMgMWEgYW5kIDFiIHdlcmUgaWRlbnRpY2FsOiBVUyBhZHVsdHMgKFN0dWR5IDFhOiBfbl89YHIgbnJvdyhkMWFfYWRfd2lkZSlgOyBTdHVkeSAxYjogX25fPWByIG5yb3coZDFiX2FkX3dpZGUpYCkgZWFjaCBhc3Nlc3NlZCBhIHNpbmdsZSB0YXJnZXQgY2hhcmFjdGVyIG9uIDQwIG1lbnRhbCBjYXBhY2l0aWVzLiBTdHVkeSAxYyBlbXBsb3llZCB2ZXJ5IHNpbWlsYXIgbWV0aG9kcywgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgcGFydGljaXBhbnRzIChfbl89YHIgbnJvdyhkMWNfYWRfd2lkZSkvMmApIGVhY2ggYXNzZXNzZWQgX2JvdGhfIHRhcmdldCBjaGFyYWN0ZXJzIHNpZGUgYnkgc2lkZSAod2l0aCBsZWZ0LXJpZ2h0IHBvc2l0aW9uIGNvdW50ZXJiYWxhbmNlZCBhY3Jvc3MgcGFydGljaXBhbnRzKS4gQmVjYXVzZSB0aGVzZSBzdHVkaWVzIHdlcmUgc28gc2ltaWxhciwgaW4gdGhpcyBjaGFwdGVyLCBJIHdpbGwgZGlzY3VzcyB0aGVtIGluIHRhbmRlbS4KClN0dWR5IDFkIGVtcGxveWVkIHRoZSAiZGl2ZXJzZSBjaGFyYWN0ZXJzIiB2YXJpYW50IG9mIHRoZSBnZW5lcmFsIGFwcHJvYWNoLCBpbiB3aGljaCBgciBucm93KGQxZF9hZF93aWRlKWAgVVMgYWR1bHRzIHdlcmUgcmFuZG9tbHkgYXNzaWduZWQgdG8gYXNzZXNzIHRoZSBzYW1lIHNldCBvZiA0MCBtZW50YWwgY2FwYWNpdGllcyB1c2VkIGluIFN0dWRpZXMgMWEtMWQgZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIDIxIHRhcmdldCBjaGFyYWN0ZXJzOiBhbiBhZHVsdCwgYSBjaGlsZCwgYW4gaW5mYW50LCBhIHBlcnNvbiBpbiBhIHBlcnNpc3RlbnQgdmVnZXRhdGl2ZSBzdGF0ZSwgYSBmZXR1cywgYSBjaGltcGFuemVlLCBhbiBlbGVwaGFudCwgYSBkb2xwaGluLCBhIGJlYXIsIGEgZG9nLCBhIGdvYXQsIGEgbW91c2UsIGEgZnJvZywgYSBibHVlIGpheSwgYSBmaXNoLCBhIGJlZXRsZSwgYSBtaWNyb2JlLCBhIHJvYm90LCBhIGNvbXB1dGVyLCBhIGNhciwgb3IgYSBzdGFwbGVyLiAoU2VlIENoYXB0ZXIgSUkgYW5kIFdlaXNtYW4gZXQgYWwuLCAyMDE3LCBmb3IgZGV0YWlsZWQgbWV0aG9kcy4pCgojIyBSZXN1bHRzCgojIyMgU3R1ZGllcyAxYS0xYwoKIyMjIFN0dWR5IDFkCgojIyBEaXNjdXNzaW9uCgpgYGB7ciwgZmlnLndpZHRoID0gMywgZmlnLmFzcCA9IDF9CnBsb3RzX2QxYSA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQxYV9hZF9zY29yZWRfYWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkExIiwgIkEyIikpCnBsb3RzX2QxYiA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQxYl9hZF9zY29yZWRfYWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkIxIiwgIkIyIikpCnBsb3RzX2QxYyA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQxY19hZF9zY29yZWRfYWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkMxIiwgIkMyIikpCnBsb3RzX2QxZCA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQxZF9hZF9zY29yZWRfYWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkQxIiwgIkQyIiwgIkQzIikpCmBgYAoKYGBge3J9CmZpZ3VyZTUuMV9wbG90cyA8LSBwbG90X2dyaWQoCiAgcGxvdF9ncmlkKHBsb3RzX2QxYSwgcGxvdHNfZDFiLCBwbG90c19kMWMsIG5jb2wgPSAzKSwKICBwbG90c19kMWQsIG5jb2wgPSAxKQpgYGAKCmBgYHtyLCBpbmNsdWRlID0gVCwgZmlnLndpZHRoID0gOSwgZmlnLmFzcCA9IDAuN30KZmlndXJlNS4xX3Bsb3RzCmBgYAoKCiMgU3R1ZHkgMjogQ29uY2VwdHVhbCBjaGFuZ2UgYmV0d2VlbiBtaWRkbGUgY2hpbGRob29kICg3LTl5KSBhbmQgYWR1bHRob29kCgpJbiB0aGUgY29udGV4dCBvZiB0aGlzIGRpc3NlcnRhdGlvbiwgU3R1ZHkgMiBzZXJ2ZXMgdG8gcHJvdmlkZSBhbiBpbml0aWFsIGludmVzdGlnYXRpb24gb2YgcmVwcmVzZW50YXRpb25zIG9mIG1lbnRhbCBsaWZlIGVhcmxpZXIgaW4gZGV2ZWxvcG1lbnQsIGluIHdoYXQgSSBoYXZlIGNhbGxlZCBtaWRkbGUgY2hpbGRob29kICg3LTl5KS4gSW4gdGhpcyBjaGFwdGVyLCBJIGZvY3VzIG9uIHdoYXQgdGhpcyBzdHVkeSBjYW4gcmV2ZWFsIGFib3V0IGNoYW5nZXMgaW4gdGhlIGRlcGxveW1lbnQgb2YgdGhpcyBjb25jZXB0IGJldHdlZW4gbWlkZGxlIGNoaWxkaG9vZCBhbmQgYWR1bHRob29kOiBIb3cgZG8gVVMgNy0gdG8gOS15ZWFyLW9sZCBjaGlsZHJlbidzIGF0dHJpYnV0aW9ucyBvZiBCT0RZLCBIRUFSVCwgYW5kIE1JTkQgY29tcGFyZSB0byB0aG9zZSBvZiBhZHVsdHMgaW4gdGhlaXIgY3VsdHVyYWwgY29udGV4dD8KClRvIHJldmlldywgaW4gU3R1ZHkgMiwgYHIgbnJvdyhkMl9hZF93aWRlKWAgVVMgYWR1bHRzIGFuZCBgciBucm93KGQyXzc5X3dpZGUpYCBVUyBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBhZ2VzIG9mIGByIHN1bW1hcnkoZDJfNzkkYWdlKVsiTWluLiJdICU+JSByb3VuZCgyKSAlPiUgZm9ybWF0KG5zbWFsbCA9IDIpYC1gciBzdW1tYXJ5KGQyXzc5JGFnZSlbIk1heC4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWAgeWVhcnMgKG1lZGlhbjogYHIgc3VtbWFyeShkMl83OSRhZ2UpWyJNZWRpYW4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWB5KSBlYWNoIGFzc2Vzc2VkIGEgc2luZ2xlIHRhcmdldCBjaGFyYWN0ZXIgb24gNDAgbWVudGFsIGNhcGFjaXRpZXMuIFRoaXMgc3R1ZHkgZW1wbG95ZWQgdGhlICJlZGdlIGNhc2UiIHZhcmlhbnQgb2YgdGhlIGdlbmVyYWwgYXBwcm9hY2gsIHdpdGggcGFydGljaXBhbnRzIHJhbmRvbWx5IGFzc2lnbmVkIHRvIGFzc2VzcyBlaXRoZXIgYSBiZWV0bGUgb3IgYSByb2JvdC4gKFNlZSBDaGFwdGVyIElJIGZvciBkZXRhaWxlZCBtZXRob2RzLikKCiMjIFNwZWNpYWwgbm90ZXMgb24gZGF0YSBwcm9jZXNzaW5nIGFuZCBhbmFseXNpcwoKVG8gZmFjaWxpdGF0ZSBjb21wYXJpc29uIGJldHdlZW4gY2hpbGRyZW4gYW5kIGFkdWx0cyBpbiBTdHVkeSAyLCBJIHVzZSBhZHVsdHMnIF9CT0RZXywgX0hFQVJUXywgYW5kIF9NSU5EXyBzY2FsZXMgKGFzIGRlc2NyaWJlZCBpbiBDaGFwdGVyIElWKSB0byBhbmFseXplIGJvdGggYWdlIGdyb3Vwcy4gRm9yIGFuYWx5c2VzIHVzaW5nIHNjYWxlcyBkZXJpdmVkIGZyb20gRUZBIG9mIGNoaWxkcmVuJ3Mgb3duIHJlc3BvbnNlcywgc2VlIFtYWCBBcHBlbmRpeCBDXS4KCiMjIFJlc3VsdHMKCiMjIyBBZHVsdHMKCiMjIyBDaGlsZHJlbiAoNy05eSkKCiMjIyBEZXZlbG9wbWVudGFsIGNvbXBhcmlzb24KCiMjIERpc2N1c3Npb24KCmBgYHtyLCBmaWcud2lkdGggPSAzLCBmaWcuYXNwID0gMX0KcGxvdHNfZDJfYWQgPC0gY2hhcmFjdGVyX211bHRpcGxvdChkMl9hZF9zY29yZWRfYWQsIGJpbl93aWR0aCA9IDEvOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkExIiwgIkEyIikpCnBsb3RzX2QyXzc5IDwtIGNoYXJhY3Rlcl9tdWx0aXBsb3QoZDJfNzlfc2NvcmVkX2FkLCBiaW5fd2lkdGggPSAxLzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxvdF9sYWJlbHMgPSBjKCJCMSIsICJCMiIpKQpgYGAKCmBgYHtyfQpmaWd1cmU1LjJfcGxvdHMgPC0gcGxvdF9ncmlkKHBsb3RfZ3JpZChwbG90c19kMl9hZCwgcGxvdHNfZDJfNzksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuY29sID0gMikpCmBgYAoKYGBge3IsIGluY2x1ZGUgPSBULCBmaWcud2lkdGggPSA2LCBmaWcuYXNwID0gMC41fQpmaWd1cmU1LjJfcGxvdHMKYGBgCgpYWCBfX0lOU0VSVCBERVZFTE9QTUVOVEFMIFRSQUpFQ1RPUlkgUExPVCAoZmlndXJlNS4zKV9fCgoKIyBTdHVkeSAzOiBDb25jZXB0dWFsIGNoYW5nZSBvdmVyIGVhcmx5IGFuZCBtaWRkbGUgY2hpbGRob29kICg0LTl5KQoKU3R1ZHkgMyBidWlsZHMgb24gdGhlIGludmVzdGlnYXRpb24gb2YgbWlkZGxlIGNoaWxkaG9vZCAoNy05eSkgaW5pdGlhdGVkIGluIFN0dWR5IDIgYW5kIGV4dGVuZHMgdGhpcyBleHBsb3JhdGlvbiBvZiBjb25jZXB0dWFsIGNoYW5nZSBpbnRvIGVhcmxpZXIgY2hpbGRob29kICg0LTZ5KS4gSW4gdGhpcyBjaGFwdGVyLCBJIGFnYWluIGZvY3VzIG9uIHdoYXQgdGhpcyBzdHVkeSBjYW4gcmV2ZWFsIGFib3V0IGNoYW5nZXMgaW4gdGhlIGRlcGxveW1lbnQgb2YgdGhpcyBjb25jZXB04oCUaS5lLiwgdGhlIGF0dHJpYnV0aW9uIG9mIEJPRFksIEhFQVJULCBhbmQgTUlORCB0byB2YXJpb3VzIGJlaW5ncyBpbiB0aGUgd29ybGTigJRvdmVyIHRoZSBjb3Vyc2Ugb2YgZWFybHkgYW5kIG1pZGRsZSBjaGlsZGhvb2QgKDctOXkpLgoKVG8gcmV2aWV3LCBpbiBTdHVkeSAzLCBgciBucm93KGQzX2FkX3dpZGUpYCBVUyBhZHVsdHMsIGByIG5yb3coZDNfNzlfd2lkZSlgICJvbGRlciIgY2hpbGRyZW4gKGByIHN1bW1hcnkoZDNfNzkkYWdlKVsiTWluLiJdICU+JSByb3VuZCgyKSAlPiUgZm9ybWF0KG5zbWFsbCA9IDIpYC1gciBzdW1tYXJ5KGQzXzc5JGFnZSlbIk1heC4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWAgeWVhcnM7IG1lZGlhbjogYHIgc3VtbWFyeShkM183OSRhZ2UpWyJNZWRpYW4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWB5KSwgYW5kIGByIG5yb3coZDNfNDZfd2lkZSlgICJ5b3VuZ2VyIiBjaGlsZHJlbiAoYHIgc3VtbWFyeShkM180NiRhZ2UpWyJNaW4uIl0gJT4lIHJvdW5kKDIpICU+JSBmb3JtYXQobnNtYWxsID0gMilgLWByIHN1bW1hcnkoZDNfNDYkYWdlKVsiTWF4LiJdICU+JSByb3VuZCgyKSAlPiUgZm9ybWF0KG5zbWFsbCA9IDIpYCB5ZWFyczsgbWVkaWFuOiBgciBzdW1tYXJ5KGQzXzQ2JGFnZSlbIk1lZGlhbiJdICU+JSByb3VuZCgyKSAlPiUgZm9ybWF0KG5zbWFsbCA9IDIpYHkpIGVhY2ggYXNzZXNzZWQgYSBzaW5nbGUgdGFyZ2V0IGNoYXJhY3RlciBvbiAyMCBtZW50YWwgY2FwYWNpdGllcy4gVGhpcyBzdHVkeSBlbXBsb3llZCB0aGUgImRpdmVyc2UgY2hhcmFjdGVycyIgdmFyaWFudCBvZiB0aGUgZ2VuZXJhbCBhcHByb2FjaCwgd2l0aCBwYXJ0aWNpcGFudHMgcmFuZG9tbHkgb3IgcHNldWRvLXJhbmRvbWx5IGFzc2lnbmVkIHRvIGFzc2VzcyBvbmUgb2YgdGhlIGZvbGxvd2luZyA5IGNoYXJhY3RlcnM6IGFuIGVsZXBoYW50LCBhIGdvYXQsIGEgbW91c2UsIGEgYmlyZCwgYSBiZWV0bGUsIGEgdGVkZHkgYmVhciwgYSBkb2xsLCBhIHJvYm90LCBvciBhIGNvbXB1dGVyLiAoU2VlIENoYXB0ZXIgSUkgZm9yIGRldGFpbGVkIG1ldGhvZHMuKQoKIyMgU3BlY2lhbCBub3RlcyBvbiBkYXRhIHByb2Nlc3NpbmcgYW5kIGFuYWx5c2lzCgpBcyBpbiBTdHVkeSAyLCB0byBmYWNpbGl0YXRlIGNvbXBhcmlzb24gYmV0d2VlbiB0aGUgdGhyZWUgYWdlIGdyb3VwcyBpbmNsdWRlZCBpbiBTdHVkeSAzLCBJIHVzZSBhZHVsdHMnIF9CT0RZXywgX0hFQVJUXywgYW5kIF9NSU5EXyBzY2FsZXMgKGFzIGRlc2NyaWJlZCBpbiBDaGFwdGVyIElWKSB0byBhbmFseXplIGJvdGggYWdlIGdyb3Vwcy4gRm9yIGFuYWx5c2VzIHVzaW5nIHNjYWxlcyBkZXJpdmVkIGZyb20gRUZBIG9mIGNoaWxkcmVuJ3Mgb3duIHJlc3BvbnNlcywgc2VlIFtYWCBBcHBlbmRpeCBDXS4KCiMjIFJlc3VsdHMKCiMjIyBBZHVsdHMKCiMjIyBDaGlsZHJlbiAoNy05eSkKCiMjIyBDaGlsZHJlbiAoNC02eSkKCiMjIyBEZXZlbG9wbWVudGFsIGNvbXBhcmlzb24KCiMjIERpc2N1c3Npb24KCmBgYHtyLCBmaWcud2lkdGggPSAzLCBmaWcuYXNwID0gMX0KcGxvdHNfZDNfYWQgPC0gY2hhcmFjdGVyX211bHRpcGxvdChkM19hZF9zY29yZWRfYWQsIGJpbl93aWR0aCA9IDEvOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbG90X2xhYmVscyA9IGMoIkExIiwgIkEyIikpCnBsb3RzX2QzXzc5IDwtIGNoYXJhY3Rlcl9tdWx0aXBsb3QoZDNfNzlfc2NvcmVkX2FkLCBiaW5fd2lkdGggPSAxLzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxvdF9sYWJlbHMgPSBjKCJCMSIsICJCMiIpKQpwbG90c19kM180NiA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQzXzQ2X3Njb3JlZF9hZCwgYmluX3dpZHRoID0gMS85LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsb3RfbGFiZWxzID0gYygiQjEiLCAiQjIiKSkKYGBgCgpgYGB7cn0KZmlndXJlNS40X3Bsb3RzIDwtIHBsb3RfZ3JpZChwbG90X2dyaWQocGxvdHNfZDNfYWQsIHBsb3RzX2QzXzc5LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxvdHNfZDNfNDYsIG5jb2wgPSAxKSkKYGBgCgpgYGB7ciwgaW5jbHVkZSA9IFQsIGZpZy53aWR0aCA9IDYsIGZpZy5hc3AgPSAxLjJ9CmZpZ3VyZTUuNF9wbG90cwpgYGAKClhYIF9fSU5TRVJUIERFVkVMT1BNRU5UQUwgVFJBSkVDVE9SWSBQTE9UIChmaWd1cmU1LjUpX18KCgojIFN0dWR5IDQ6IEEgZm9jdXMgb24gZWFybHkgY2hpbGRob29kICg0LTV5KQoKU3R1ZHkgNCBidWlsZHMgb24gU3R1ZHkgMyBieSBwcm92aWRpbmcgYSB0YXJnZXRlZCBpbnZlc3RpZ2F0aW9uIG9mIHJlcHJlc2VudGF0aW9ucyBvZiBtZW50YWwgbGlmZSBpbiB0aGUgcHJlc2Nob29sIHllYXJzICg0LTV5KS4gSW4gdGhpcyBjaGFwdGVyLCBJIGFnYWluIGZvY3VzIG9uIHdoYXQgdGhpcyBzdHVkeSBjYW4gcmV2ZWFsIGFib3V0IGF0dHJpYnV0aW9ucyBvZiBCT0RZLCBIRUFSVCwgYW5kIE1JTkQgYXQgdGhlIGVhcmxpZXN0IHBvaW50IGluIGRldmVsb3BtZW50IHRoYXQgSSBoYXZlIGV4YW1pbmVkIHNvIGZhciwgYW5kIGNvbXBhcmUgdGhlIGRlcGxveW1lbnQgb2YgdGhpcyBjb25jZXB0IGFtb25nIHlvdW5nIGNoaWxkcmVuIHZzLiBhZHVsdHMuIAoKVG8gcmV2aWV3LCBpbiBTdHVkeSA0LCBgciBucm93KGQ0X2FkX3dpZGUpLzJgIFVTIGFkdWx0cyBhbmQgYHIgbnJvdyhkNF80Nl93aWRlKS8yYCBVUyBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBhZ2VzIG9mIGByIHN1bW1hcnkoZDRfNDYkYWdlKVsiTWluLiJdICU+JSByb3VuZCgyKSAlPiUgZm9ybWF0KG5zbWFsbCA9IDIpYC1gciBzdW1tYXJ5KGQ0XzQ2JGFnZSlbIk1heC4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWAgeWVhcnMgKG1lZGlhbjogYHIgc3VtbWFyeShkNF80NiRhZ2UpWyJNZWRpYW4iXSAlPiUgcm91bmQoMikgJT4lIGZvcm1hdChuc21hbGwgPSAyKWB5KSBlYWNoIGFzc2Vzc2VkIHR3byB0YXJnZXQgY2hhcmFjdGVycyBvbiAxOCBtZW50YWwgY2FwYWNpdGllcywgd2l0aCBhbGwgYXNwZWN0cyBvZiB0aGUgZXhwZXJpbWVudGFsIGRlc2lnbiB0YWlsb3JlZCB0byBiZSBhcHByb3ByaWF0ZSBmb3IgdGhpcyB5b3VuZ2VzdCBhZ2UgZ3JvdXAuIFRoaXMgc3R1ZHkgZW1wbG95ZWQgdGhlICJlZGdlIGNhc2UiIHZhcmlhbnQgb2YgdGhlIGdlbmVyYWwgYXBwcm9hY2gsIHdpdGggcGFydGljaXBhbnRzIGFzc2Vzc2luZyBib3RoIGEgYmVldGxlIG9yIGEgcm9ib3QgaW4gc2VxdWVuY2UgKHdpdGggb3JkZXIgY291bnRlcmJhbGFuY2VkIGFjcm9zcyBwYXJ0aWNpcGFudHMpLiAoU2VlIENoYXB0ZXIgSUkgZm9yIGRldGFpbGVkIG1ldGhvZHMuKQoKIyMgU3BlY2lhbCBub3RlcyBvbiBkYXRhIHByb2Nlc3NpbmcgYW5kIGFuYWx5c2lzCgpBcyBpbiBTdHVkaWVzIDIgYW5kIDMsIHRvIGZhY2lsaXRhdGUgY29tcGFyaXNvbiBiZXR3ZWVuIGNoaWxkcmVuIGFuZCBhZHVsdHMgaW4gU3R1ZHkgNCwgSSB1c2UgYWR1bHRzJyBfQk9EWV8sIF9IRUFSVF8sIGFuZCBfTUlORF8gc2NhbGVzIChhcyBkZXNjcmliZWQgaW4gQ2hhcHRlciBJVikgdG8gYW5hbHl6ZSBib3RoIGFnZSBncm91cHMuIEZvciBhbmFseXNlcyB1c2luZyBzY2FsZXMgZGVyaXZlZCBmcm9tIEVGQSBvZiBjaGlsZHJlbidzIG93biByZXNwb25zZXMsIHNlZSBbWFggQXBwZW5kaXggQ10uCgojIyBSZXN1bHRzCgojIyMgQWR1bHRzCgojIyMgQ2hpbGRyZW4gKDQtNXkpCgojIyMgRGV2ZWxvcG1lbnRhbCBjb21wYXJpc29uCgojIyBEaXNjdXNzaW9uCgpgYGB7ciwgZmlnLndpZHRoID0gMywgZmlnLmFzcCA9IDF9CnBsb3RzX2Q0X2FkIDwtIGNoYXJhY3Rlcl9tdWx0aXBsb3QoZDRfYWRfc2NvcmVkX2FkLCBiaW5fd2lkdGggPSAxLzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxvdF9sYWJlbHMgPSBjKCJBMSIsICJBMiIpKQpwbG90c19kNF80NiA8LSBjaGFyYWN0ZXJfbXVsdGlwbG90KGQ0XzQ2X3Njb3JlZF9hZCwgYmluX3dpZHRoID0gMS85LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsb3RfbGFiZWxzID0gYygiQjEiLCAiQjIiKSkKYGBgCgpgYGB7cn0KZmlndXJlNS42X3Bsb3RzIDwtIHBsb3RfZ3JpZChwbG90X2dyaWQocGxvdHNfZDRfYWQsIHBsb3RzX2Q0XzQ2LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmNvbCA9IDIpKQpgYGAKCmBgYHtyLCBpbmNsdWRlID0gVCwgZmlnLndpZHRoID0gNiwgZmlnLmFzcCA9IDAuNX0KZmlndXJlNS42X3Bsb3RzCmBgYAoKWFggX19JTlNFUlQgREVWRUxPUE1FTlRBTCBUUkFKRUNUT1JZIFBMT1QgKGZpZ3VyZTUuNylfXwoKCiMgR2VuZXJhbCBkaXNjdXNzaW9uCgoKIyBDaGFwdGVyIGNvbmNsdXNpb24KCgoKCgoKCgoKIyBTQ1JBUFMKCiMjIERvY3VtZW50aW5nIHRoZSBhcHBsaWNhdGlvbiBvciBkZXBsb3ltZW50IG9mIGNvbmNlcHR1YWwgcmVwcmVzZW50YXRpb25zIHRocm91Z2ggWFgKCltYWCBDT1JSRUNUIFRPIEJFIE5PVCBBQk9VVCBGQUNUT1IgU0NPUkVTISBjaGFuZ2UgZnJvbSBmYWN0b3Igc2NvcmVzIHRvIGVuZG9yc2VtZW50cy4gRmFjdG9yIHNjb3JlcyBkb24ndCBnaXZlIGEgc2Vuc2Ugb2YgYWJzb2x1dGVseSB5ZXMvbm8uXQoKSGF2aW5nIGluZmVycmVkIGEgY29uY2VwdHVhbCBzdHJ1Y3R1cmUgZm9yIGEgZ2l2ZW4gZ3JvdXAgb2YgcGFydGljaXBhbnRzIHZpYSBFRkEsIEkgdGhlbiBzb3VnaHQgdG8gZXhhbWluZSBhdHRyaWJ1dGlvbnMgb2YgbWVudGFsIGNhcGFjaXRpZXMgdG8gdGhlIHBhcnRpY3VsYXIgdGFyZ2V0IGNoYXJhY3RlcnMgaW5jbHVkZWQgaW4gZWFjaCBzdHVkeSB3aXRoaW4gdGhpcyBjb25jZXB0dWFsIHN0cnVjdHVyZTogVG8gd2hhdCBleHRlbnQgZGlkIHBhcnRpY2lwYW50cyBhdHRyaWJ1dGUgZWFjaCBvZiB0aGUgZnVuZGFtZW50YWwgY29tcG9uZW50cyBvZiBtZW50YWwgbGlmZSByZXZlYWxlZCBieSBFRkEgdG8gYSBnaXZlbiB0YXJnZXQgY2hhcmFjdGVyLCBhbmQgaG93IGRpZCB0aGlzIGF0dHJpYnV0aW9ucyB2YXJ5IHdpdGggYWdlIChlaXRoZXIgd2l0aGluIGFuIGFnZSBncm91cCBvciBiZXR3ZWVuIGFnZSBncm91cHMpPyAKClRvIGV4cGxvcmUgdGhpcyBxdWVzdGlvbiwgZm9yIGVhY2ggc3R1ZHkgSSBwcm9qZWN0ZWQgY2hpbGRyZW4ncyBkYXRhIGludG8gYWR1bHRzJyBjb25jZXB0dWFsIHNwYWNlIGFuZCBleGFtaW5lZCAiZmFjdG9yIHNjb3JlcyLigJRzdW1tYXJpZXMgb2YgZWFjaCBwYXJ0aWNpcGFudCdzIGF0dHJpYnV0aW9ucyBvZiBlYWNoIG9mIGZhY3RvcnMgcmV2ZWFsZWQgYnkgRUZBLiBJIHVzZWQgdGhlIGNvcnJlbGF0aW9uLXByZXNlcnZpbmcgInRlbiBCZXJnZSIgbWV0aG9kIChhcyBpbXBsZW1lbnRlZCBpbiB0aGUgInBzeWNoIiBwYWNrYWdlOyBSZXZlbGxlLCAyMDE4KSwgaW1wdXRpbmcgbWlzc2luZyB2YWx1ZXMgdXNpbmcgdGhlIG1lYW4gKGJ5IHRhcmdldCBjaGFyYWN0ZXIsIGNhcGFjaXR5LCBhbmQgYWdlIGdyb3VwKS4gVGhpcyB5aWVsZGVkIG9uZSBmYWN0b3Igc2NvcmUgZm9yIGVhY2ggb2YgKGFkdWx0cycpIGZhY3RvcnMsIGZvciBlYWNoIHBhcnRpY2lwYW50LiBJIGNvbnNpZGVyIHRoZXNlIHRvIGJlIHN1bW1hcmllcyBvZiB0aGF0IHBlcnNvbidzIGF0dHJpYnV0aW9ucyBvZiB0aGUgY29ycmVzcG9uZGluZyBsYXRlbnQgY29uc3RydWN0LgoKSSBhbmFseXplZCB0aGVzZSBmYWN0b3Igc2NvcmVzIHZpYSBtaXhlZCBlZmZlY3RzIEJheWVzaWFuIHJlZ3Jlc3Npb24gYW5hbHlzZXMgdXNpbmcgdGhlICJicm1zIiBwYWNrYWdlIGZvciBSIChCw7xya25lciwgMjAxNykuIEluIGFsbCBvZiB0aGVzZSBhbmFseXNlcywgSSBpbmNsdWRlZCB0aGUgbWF4aW1hbCByYW5kb20gZWZmZWN0IHN0cnVjdHVyZXMgZ2l2ZW4gdGhlIGRlc2lnbiBmb3IgdGhlIHJlbGV2YW50IHN0dWR5LiBGdXJ0aGVyIGRldGFpbHMgdmFyaWVkIGJ5IHN0dWR5LCBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiB0YXJnZXQgY2hhcmFjdGVycyBpbmNsdWRlZCBpbiB0aGF0IHN0dWR5LCB0aGUgbnVtYmVyIG9mIGZhY3RvcnMgcmV2ZWFsZWQgYnkgRUZBIGZvciB0aGUgcmVsZXZhbnQgZ3JvdXAocykgb2YgcGFydGljaXBhbnRzLCBhbmQgdGhlIGdvYWxzIG9mIHRoZSBhbmFseXNpcyAoZS5nLiwgY29tcGFyaW5nIHR3byBhZ2UgZ3JvdXBzIHZzLiBleGFtaW5pbmcgY29udGludW91cyBlZmZlY3RzIG9mIGFnZSB3aXRoaW4gb25lIG9yIG1vcmUgZ3JvdXBzIG9mIHBhcnRpY2lwYW50cykuCg==